package com.xjiuge.fruit.service;

import java.util.List;
import java.util.Map;

import com.xjiuge.fruit.bean.Menu;
import com.xjiuge.fruit.bean.User;
import com.xjiuge.fruit.service.base.BaseService;

public interface MenuService 
    extends BaseService<Menu>{

	/**
	 * 获取菜单树
	 * MenuService.getTreeList<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月2日  下午3:47:00</p>
	 * @return
	 */
	List<Map<String, Object>> getTreeList();

	/**
	 * 添加菜单
	 * MenuService.save<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月2日  下午3:53:30</p>
	 * @param menu
	 * @param loginUser
	 */
	void save(Menu menu, User loginUser);

	/**
	 * 通过父ID查询子节点集合
	 * MenuService.selectMenuListByPid<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月3日  下午1:56:09</p>
	 * @return
	 */
	List<Menu> selectMenuListByPid(String parentId);

	/**
	 * 批量删除菜单
	 * MenuService.deleteByIds<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月3日  下午5:01:16</p>
	 * @param ids
	 */
	void deleteByIds(String[] ids);

	/**
	 * 编辑菜单
	 * MenuService.update<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月6日  上午11:17:52</p>
	 * @param menu
	 * @param user
	 */
	void update(Menu menu, User user);

	/**
	 * 获取角色权限
	 * MenuService.auth<BR>
	 * <p>Author:xuhongcheng</p>
	 * <p>Date: 2017年11月6日  下午3:06:16</p>
	 * @return
	 */
	List<Map<String, Object>> auth();

}